import {GoodTwo} from '../api/model/goods';
// mixin就是定义一个公共的方法，之后再不同的页面里用到都可以这个方法都可以用
export default function(){
    const store=useStore();
    // 添加购物车数据到store的cardlist里面
    const setcart=(food:GoodTwo)=>{
        store.commit("addCart",food)
    }
    // 判断当前所点击的商品数据在不在cardlist中
    let isid=computed(()=>{
        // 把当前所点击商品id传递
        return function(id:number){
            return store.getters.isfood(id);
        }
    })
    // 提交setCount到mutations中，修改数量
    const addsub=(fn:string,id:number)=>{
        store.commit("setCount",{fn,id})
    }
    // store用的计算属性，mixin也要用对应的计算属性接受
    // 计算属性，找到当前商品数量,只是做数量显示用处
    const cartCount=computed(()=>{
        return function(id:number){
            return store.getters.getCount(id);
        }
    })
    // 计算属性，获取所有商品的总金额和总件数
    const total=computed(()=>{
        return store.getters.getTotal;
    })
    // 定义获取所有购物车数据的方法
    const cartlist=computed(()=>{
        return store.getters.getCart;
    })
    return {setcart,total,cartlist,cartCount,addsub,isid}
}